#ifndef IGRAPHGENERATOR_H_
#define IGRAPHGENERATOR_H_

#include "graph_support/IGraph.h"

#include <string>

#include <boost/shared_ptr.hpp>

#include "graph_support/alg_correctness_tests/generate_graph/FlowEdgeAttributes4UnitTests.h"


namespace generate_graph
{

class IGraphGenerator
{
public:
	typedef boost::shared_ptr< GRAPH_SUPPORT_NS::IGraph > GraphPtr;

public:
	virtual ~IGraphGenerator();

public:
	virtual GraphPtr generate() = 0;
	virtual std::string getName() = 0;
};
typedef boost::shared_ptr< IGraphGenerator > IGraphGeneratorPtr;

}

#endif /* IGRAPHGENERATOR_H_ */
